1. Field of the Invention
This invention relates to a job scheduling system which schedules job requests issued from a terminal equipment using a queue and requests a job execution section to carry out print processing by passing the jobs to the job execution section.
2. Discussion of the Related Art
In the print processing executed by a conventional print processing system, a job scheduling device receives a job request delivered from a terminal equipment in a network, and this job is sent to a job execution section after the job request has been subjected to a predetermined scheduling operation, whereby print processing and conversion are executed. The job scheduling device sequentially stores print data, which forms the job request, and an aggregate of attribute groups of the print data (hereinafter referred to as a document) in the queue as one operation unit (hereinafter referred to as a job). The scheduling operation is carried out job by job. Hereinafter, such scheduling is called the scheduling of a one-job-multidocument.
When a user attempts to produce a plurality of outputs of jobs having the same contents, a corresponding number of job requests must be issued in a conventional job processing system. These jobs are handled as different jobs, and therefore output results corresponding to these job requests are mixed with output results for job requests from another user. It takes much time for the user to distinguish the user's output results from other results.
Although a plurality of jobs share the same print data, each of the jobs requires the print data when a plurality of job requests are issued. When the volume of data is large, an increased burden is imposed on a memory device such as a disk. Further, when a job includes documents that require conversion, conversion is executed job by job, thereby resulting in poor processing efficiency. Thus, the use of various resources becomes wasteful.
On the other hand, a job processing can be carried out using acceptance completion type sequential processing or non-acceptance completion type sequential processing. In the acceptance completion type sequential processing, a document processing request is not issued until all of the documents, which form the job, are received. In the non-acceptance completion type sequential processing, processing requests are issued in the order in which the documents are received. The non-acceptance completion type sequential processing is suitable for the case where a high-speed printer is used. The acceptance completion type sequential processing is suitable for the case where the collation and uncollation of a job are controlled. However, in the acceptance completion type sequential processing, it is necessary to wait the issue of a processing request until all of the documents are received, which in turn delays scheduling and renders the overall processing time longer.
The collation (collation is carried out) means that the pages of a document are collated and a specified number of documents are output, and the uncollation (collation is not carried out) means that a specified number of documents are output page by page.
An object of the present invention is to provide a job processing system capable of improving job processing efficiency when a plurality of jobs having the same contents are output.
In the case of the scheduling of the conventional one-job multidocument, the next job processing request is not issued to the job execution section until a job at the head end of a printer queue is completed. So long as a previous job remains in the queue, the next job processing request is not issued. For this reason, it is possible to easily perform a processing start wait operation, or a processing completion wait operation, and a password input wait operation by checking whether or not the job at the head end of the printer queue is designated for a processing start wait, a processing completion wait, or a password input wait.
The job execution section having high throughput can process a plurality of documents at one time. However, the job scheduling device can only issue a job processing request at limited timing, and hence it was sometimes impossible to effectively utilize the throughput of the job execution section.
FIG. 21 is an explanatory view showing the relationship between the state of a printer queue and a document which is processed by a job execution section. In FIG. 21, a job scheduling device (not shown) is interposed between a printer queue 5 and a job execution section 6, and this job scheduling device schedules jobs. Jobs 1 to 4 are queued in the printer queue 5. Processing request for all documents have already been issued with respect to a job 1 at the head end of the queue. On the other hand, the processing of the job shifts sequentially from step 1 to step 3 in the job execution section 6.
For the jobs in the queue, a large circle at the top of each column represents a queue object of a job, and smaller circles following the large circle in each column represent queue objects of a document.
The job execution section 6 advances the processing of the document to step 2 when the processing at step 1 is completed, and informs the job scheduling device that it can accept a processing request. Upon receipt of the acknowledgement from the job execution section 6, the job scheduling device issues a processing request to the job execution section 6 for a document subsequent to the currently completed job, and executes processing of step 1. After the processing of step 3 has been completed, the job execution section 6 informs the job scheduling device of the completion of the processing of that document. The job scheduling device considers the processing of the document for which the acknowledgement has been issued to have been completed, and the job is moved to a terminate (completion) queue (not shown) after the processing of the final document of the job has been completed. The job scheduling device issues a processing request to the job execution section 6 with respect to the next job 2 at the head end of the printer queue 5.
In some case, the job scheduling device cannot issue a document processing request to the job execution section 6 even when the job execution section 6 is liable to carry out processing, which results in an unprocessed document is in the printer queue 5.
For example, FIG. 21 shows that processing requests for all jobs have already been issued with respect to the job 1, and that a job 1-4, i.e., a document 4 of the job 1, is being processed in the job execution section 6. When the job 1-4 is shifted to step 2 after having been subjected to the processing at step 1, it becomes possible to carry out the processing of step 1. The job execution section 6 informs the job scheduling device that it can accept processing. However, the job scheduling device has not yet received the acknowledgement of the completion of the processing of jobs 1-2, 1-3, and 1-4 from the job execution section 6. Accordingly, the job scheduling device can neither shift the job 1 from the head end of the printer queue 5 nor issue a processing request for a job 2-1. In other words, in spite of the fact that the job execution section 6 informs the job scheduling device that it can accept processing, the job execution section 6 cannot receive a processing request for the job 2-1 from the job scheduling device until the processing of the job 1-4 is finished. Hence, the job execution section 6 is idle for a waiting time, and it takes a long time to execute job processing. As a result of this, even if the job execution section 6 can process a plurality of documents at one time, it becomes impossible to effectively utilize the throughput of the job execution section.
As previously mentioned, the job scheduling device controls jobs by checking whether or not a job at the head end of the printer queue 5 is set to the processing start wait, or the processing completion wait, and the password input wait. If processing requests for documents were issued with respect to jobs other than the job at the head end of the queue when the job scheduling device received the acknowledgement from the job execution section 6, it will become impossible for the job scheduling device to control these jobs.
Another object of the present invention is to provide a job processing system capable of continuously issuing document processing requests without obstructing job control such as a processing start wait.
When print processing is conventionally carried out using a print server connected to a network system, it is necessary to send the print server print data described in a print format which a printer to be connected to the server can interpret. For this reason, a local user in the network system has to send print data after confirming the printer format of a printer, which accepts a print processing request. If the print data were sent together with a wrong print format for that printer, the print data might not be printed.
A print server is put forward which converts the print format of received print data to another print format which a printer connected to the print server can interpret when the print data described in a print format which the printer cannot interpret. The print format is a PDL format such as PostScript or Interpress.
Japanese Patent Unexamined Publication No. Hei. 3-251915 discloses a print server, wherein a printer name corresponding to a print command is sent to a print server before the transmission of print data, the print server selects print command converter means corresponding to the received print command, and the thus selected print command converter means control a printer connected to the print server.
However, in the case of the above mentioned conventional print server, the print format of the print data is converted immediately before the printer processes the print data. Hence, the printer comes to a standstill during the conversion of the print format, which in turn deteriorates the throughput of the printer. Particularly in the case of a completion type job, the conversion of a print format is not carried out until all documents are received, and hence the printer stops for a longer period of time.
Similarly, the print server disclosed in Japanese Patent Unexamined Publication No. Hei. 3-251915 converts the print format of print data to a data format of a printer connected to the server immediately before print processing is carried out. Therefore, the printer has to stop during the conversion of the print format.
Still another object of the present invention is to provide a print processing device designed to reduce the idle time of a printer and improve the throughput of the printer by previously converting a job including documents which need conversion processing.
In the scheduling of a conventional one-job multidocument, when it is necessary to process a plurality of documents as one job, an instruction to that effect is sent from terminal equipment together with a schedule attribute. This schedule attribute basically comprises two types of attribute; namely, an after-complete attribute and a before-complete attribute. The after-complete attribute means that a print processing device carries out scheduling in such a way as to execute a job upon receipt of all print documents related to that job. The before-complete attribute means that a print processing device carries out scheduling in such a way as to execute a job with respect to a received print document every time receiving each of print documents of that job.
By the way, document data to be transmitted might be interrupted as a result of a network failure while print requests for a plurality of print documents are being processed as one job. If such a receiving failure arises, the print processing device has to wait until the last document arrives in the case of the after-complete attribute, so that the print processing is interrupted for a long period of time. On the other hand, in the case of the before-complete attribute, previously received print documents are printed one by one, and therefore the printer is occupied for a long period of time until the current print processing is cancelled.
The present invention is conceived to solve these drawbacks in the conventional system, and the object of the invention is to provide print processing device and method wherein if the next document of a job is not received because of a failure, print processing will not be interrupted for a long period of time and a printer will not be occupied for a long period of time.
Generally, in a conventional network system, each of a number of subscriber workstations (client workstations) in the network issues a job processing request to each type of server, and the server which received that job processing request temporarily puts the job in a queue in the form of FIFO (First-In First-Out) and processes jobs in a stand-by state one by one. For example, in a print system, a print server which accepted print jobs from a client workstation stores the print jobs in a printer queue one after another and outputs the jobs in a stand-by state to a printer one by one every time the printer completes print processing. For this reason, a user who wants to quickly obtain a print output has to issue a print request to the print server as soon as possible, which might cause the user to erroneously specify print attributes such as a paper size and a tray number.
In addition, some of the current print systems can effect the print processing of a one-job multidocument in which a plurality of documents are handled as one job, as well as the print processing of a one-job one-document in which one job simply comprises one document. Therefore, an unwanted document often gets mixed in with a job.
In such a case, according to the conventional technology, it is necessary for the user to delete the job held in a queue which corresponds to the print request and to reissue a print request with modified attributes.
However, as a result of the deletion of and re-registration of the job retained in the queue, it takes a long time to obtain a print result, and an increased burden is imposed on the user. Further, the reissue of the print request results in increased network traffic, and might bring about competition for the print server by print requests from a plurality of clients. For this reason, it becomes more important to develop a technology of temporarily interrupting the processing of a job and resuming the job processing after the modification of attributes of a job retained in a queue of a print server and the cancellation of a specific document included in a one-job multidocument have been effected. On the assumption that a job is processed in the order in which the print server accepts a job, if a job which takes a massive amount of time is being processed, it will become impossible to start to process a subsequent job so long as the processing of the current job continues.
Therefore, the manner of implementing a technique for temporarily interrupting the processing of a job and resuming the job processing after the modification of attributes of a job retained in a queue of a print server and the cancellation of a specific document included in a one-job multidocument have been effected, becomes important.
According to the conventional technology, job processing is neither interrupted nor resumed on a job-by-job basis, and only the operation of the print server is interrupted and resumed. For example, Japanese Patent Unexamined Publication No. Sho. 63-276569 discloses an off-line printer, wherein information relating to a print position when printing is terminated during the course of the printing operation is output to a permanent recording medium such as print paper or a non-volatile storing medium such as a magnetic disk, so that printing can be reliably and easily resumed from an accurate print position. Even in this printer, print processing is not interrupted and resumed on a job-by-job basis, but only the printer is interrupted and resumed.
The object of the present invention is to solve the above drawbacks in the conventional technology and to provide a job processor capable of improving processing efficiency by effecting the interruption and resumption of print processing on a job-by-job basis as well as easily modifying attributes of a job retained in a queue and canceling a specific document included in a one-job multidocument.
There is a technology conventionally known as a remedy for a network system failure, wherein information relating to failures occurred with respect to subscribers on the network is temporarily stored in a log file, and causes of the failures are identified based on the information relating to the failures stored in the log file. For example, Japanese Patent Unexamined Publication No. Sho. 61-75463 discloses an information processing system configured in such a way that each information processor collects status information, representing an internal state of the processor itself, under control of an abnormal processing program which is executed in response to the occurrence of an external interruption or the detection of an abnormality, and sends the collected status information to each of the information processors having a display, whereby status information for each information processor is displayed. In other words, this conventional technology makes it easy to increase the speed of identification of failures by collecting status information using the detection of abnormality as a trigger, and displaying the status information on a display.
However, according to this conventional technology, it is necessary to collect information about failures and store the information in a log file. Further, a system manager has to analyze and restore the information held in the log file, and hence it takes a long time to restore the information to its original state immediately before the occurrence of the failure. For example, on the assumption that a plurality of print jobs are received from a plurality of terminals through a network, and that a job scheduling device which prints the plurality of print jobs one after another using a job execution section (a printer) is used, if any failures occurred in the job scheduling device or the printer, the state of the job scheduling device or the printer will be temporarily stored in a log file, and thereafter attempts to recover the job scheduling device or the printer from the failure will be made based on an analysis of the failures by a system manager.
In other words, once such failures have occurred, the failures affect each of the jobs held in the job scheduling device, and therefore it often takes a long time to recover the jobs from the influence of the failures. For example, if a failure arises during the course of deletion of a job held in the job scheduling device, print data relating to that job will be deleted, but attributes of that print data will remain undeleted. For this reason, the system manager has to delete the attributes later.
For these reasons, a degree of improvement in an operating efficiency attained as a result of reducing the influence of failures exerted on a job if the above mentioned failures arise, becomes important. Particularly, in a system which carries out parallel processing such as multiprocessing, one failure affects all other portions in the system.
The object of the present invention is to solve the above mentioned drawbacks in the conventional technology and to provide a job scheduling device capable of reducing the influence of system failures if they arise in a system and executing job processing according to an instruction from a user.
A conventional printing system, such as a so-called print system and a copying system, employs a known technology in which print attributes (hereinafter referred to as attribute information) consisting of a paper size, a tray number, and the availability of double-sided printing are added to print data, and printing is carried out based on the attribute information. For example, when print data or copying data are output, attribute information consisting of, for example, a paper size, the number of pages, and the availability of double-sided printing, necessary for printing is set. As a result of sending the attribute information to an output device together with document data or copying data, the print data or the copying data are output in a desired format. In this way, when a print request is issued, printing is carried out based on the attribute information, and therefore the handling of the attribute information becomes important.
However, according to such a conventional technology, the user who issues a print request or a terminal equipment which the user uses, added the attribute information to print data. For this reason, if a print server, or the like, accepted the print request as a print job, it would not have been allowed to change the attribute information. Hence, if the user erroneously specified the attribute information or if the terminal added the attribute information to the print data because the user had forgot to specify the attribute information, it would have become necessary to temporarily cancel the print job once and to issue a new print request given desired attribute information. This imposes an increased burden on the user, as a result of the re-registration of a print request, and brings about a drop in the efficiency of use of a network. Further, a time lag arises before a print output is obtained. Namely, the increased burden on the user, a drop in the efficiency of use of the network, and a print waiting time becomes important.
The present invention is conceived to solve the above mentioned drawbacks in the conventional technology, and the object of the invention is to provide a job scheduling device capable of easily modifying attribute information by reducing a user's burden, a drop in the efficiency of the use of a network, and a print waiting time.